css如何设置元素高度为宽度的百分比

11/23/2020 16:08:06 阅读(2254)

废话不多说,直接上代码:

方式一:

.hpw{
  background-color: black;
  --div-width: calc(100vw / 2);
  width: var(--div-width);
  height: calc(var(--div-width) * .618);
}

此方式有不完美的地方,如目标元素宽度想要跟随父元素的情况不适用,下面祭出终极解决方案:

#container {
	display: inline-block;
	position: relative;
	width: 50%;
}

#dummy {
	padding-top: 70%;
}

#element {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background-color: silver;
}
<div id="container">
	<div id="dummy"></div>
	<div id="element">some text</div>
</div>

调整上面代码中的padding-top的值即可影响id="element"的div的宽高比。

返回